<?php
/* 
 * /admin/authors/index.php
 * Amilcar de Leon
 * Descripcion: controlador de la seccion de autores
 */
//mostrar lista de autores
include $_SERVER['DOCUMENT_ROOT'] . '/PHPLearning2011/includes/db.inc.php';
$result=mysqli_query($link, 'SELECT id, name FROM author');
if (!$result)
{
    $error='Error obteniendo los autores de la base de datos!';
    include 'error.html.php';
    exit();
}

while ($row=mysqli_fetch_array($result))
{
    $authors[]=array('id'=>$row['id'],'name'=>$row['name']);
    
}
include 'authors.html.php';

//Codigo para Eliminar Jokes (integridad referencial manejada a nivel de PHP
if (isset($_POST['action']) and $_POST['action']=='Delete')
{
    include $_SERVER['DOCUMENT_ROOT'] . '/PHPLearning2011/includes/db.inc.php';
    $id=mysqli_real_escape_string($link, $_POST['id']);

    //Obtener jokes pertenecientes al Autor
    $sql="SELECT id FROM joke WHERE authorid='$id'";
    $result=mysqli_query($link, $sql);
    if (!$result)
    {
        $error='Error obteniendo la lista de jokes para Eliminar.';
        include 'error.html.php';
        exit();
    }

    //para cada joke
    while($row=  mysqli_fetch_array($result))
    {
        $jokeid=$row[0];
   //Eliminar todas las entradas de la categoría de jokes
        $sql="DELETE FROM jokecategory WHERE jokeid='$jokeid'";
        if (!mysqli_query($link, $sql))
        {
            $error='Error Eliminando las entradas de la categoria de jokes.';
            include 'error.html.php';
            exit();
        }

    }
    //Eliminar  jokes pertenecientes a Autor
    $sql="DELETE FROM joke WHERE authorid='$id'";
    if (!mysqli_query($link, $sql))
    {
        $error="Error Eliminando las jokes para el Autor.";
        include 'error.html.php';
        exit();
    }
    //Eliminar el Autor: èsto lo estamos manejando a nivel de PHP ya que al momento
    //la BD no es relacional y afecta la integridad referencial.
    $sql="DELETE FROM author WHERE id='$id'";
    if (!mysqli_query($link, $sql))
    {
        $error='Error eliminando Autor.';
        include'error.html.php';
        exit();
    }
    header ('Location: .');
    exit();

}

?>
